export default function recursion(obj) {
  const obj_ = obj;
  const key = Object.keys(obj_);
  if (obj_[key] && typeof obj_[key] === 'object') {
    if ({}.propertyIsEnumerable.call(obj_[key], 'value')) {
      obj_[key] = obj_[key].value;
    } else if (
      {}.propertyIsEnumerable.call(obj_[key], 'selectedItem')
    ) {
      if (obj_[key].selectedItem.length > 0) {
        if (obj_[key].selectedItem.length > 1) {
          obj_[key] = obj_[key].selectedItem.map(
            item => item.value
          );
        } else {
          obj_[key] = [obj_[key].selectedItem[0].value];
        }
      } else if (obj_[key].selectedItem.length === 0) {
        obj_[key] = [''];
      }
    } else {
      obj_[key] = recursion(obj_[key]);
    }
  }
  return obj_;
}
